System architectures for and methods of scheduling on-chip and across-chip noise events in an integrated circuit

ABSTRACT

Integrated circuit (IC) system architectures that allow for the reduction of on-chip or across-chip transient noise budgets by providing a means to avoid simultaneous high current demand events from at least two functional logic blocks, i.e., noise contributors, are disclosed. Embodiments of the IC systems architectures include at least one noise event arbiter and at least two noise contributor blocks. A method of scheduling on-clip noise events to avoid simultaneous active transient noise events may include, but is not limited to: the noise event arbiter receiving simultaneously multiple requests-to-operate from multiple noise contributers; the noise event arbiter determining when each noise contributer may execute operations based on a pre-established dI/dt budget; and the noise event arbiter notifying each noise contributer as to when permission is granted to execute its operations.

FIELD OF THE DISCLOSURE

The present disclosure generally relates to the field of integratedcircuit transient noise management. In particular, the presentdisclosure is directed to system architectures for and methods ofscheduling on-chip and across-chip noise events in an integratedcircuit.

BACKGROUND

As advances in integrated circuit technology are achieved, devicegeometries are shrinking in size and the operating voltages (Vdd) aredecreasing. Integrated circuit designers must account for on-chiptransient noise when developing integrated circuits, because the lowerthe operating voltage, the more likely a voltage drop due to aninstantaneous current draw event (i.e., a noise event) becomesunacceptable because the functional logic blocks on the integratedcircuit may not function reliably. For example, as each of severalfunctional logic blocks is powered up and used, more and more current isdrawn and more and more transient noise events occur. There are severalcontributing factors to the increased need to design moretransient-noise-tolerant circuitry, including: (1) the inherentperformance increase per technology node is shrinking, therefore thereis less performance to offer; (2) the performance drop-off vs. voltagecurve is getting steeper with thinner oxides and lower Vdds; (3) theincreased overall on-chip density may lead to higher current per unitarea, which in turn leads to more noise; and (4) higher operatingfrequencies limit the capability to satisfy instantaneous currentdemands from off-chip, which leads to larger magnitude on-chip noisepulses.

Generally, events that create worst-case on-chip transient noise (i.e.,high instantaneous current demand or dI/dt, which is the time rate ofchange of current) occur infrequently. However, the worst case noisescenario must be taken into account during the integrated circuit designprocess. Typically, a “noise budget” is set, and all facets of theintegrated circuit design must take this budget into account, with thegoal being to minimize the noise budget. In particular, passive noiselimitation techniques exist that typically involve a trade-off ofperformance or power. In one example, the at-circuit minimum voltage maybe reduced when closing timing, which results in reduced performance. Inanother example, two paths in a timing test may be skewed farther apart,which likewise results in reduced performance. In yet another example,the power supply may be increased in order to keep the at-circuitvoltage stable, which undesirably results in higher power consumption.In a further example, decoupling capacitors can be added to theintegrated circuit in order to limit supply rail collapse due totransient noise events. This, however, consumes area and power.

Consequently, there is a need to guard band against the above-mentionedproblems in order to ensure that multiple logic blocks, which can havesimultaneous high current demand events, will function reliably while atthe same time maintain optimal performance and optimal powerconsumption. For these reasons, a need exists for system architecturesfor and methods of scheduling on-chip and across-chip active noiseevents in an integrated circuit, in order to avoid simultaneous activetransient noise events.

SUMMARY OF THE DISCLOSURE

In one embodiment, the present disclosure is directed to an integratedcircuit, comprising an integrated circuit having a predeterminedinstantaneous current draw threshold. The integrated circuit includes afirst functional block provided to perform at least one first predefinedoperation and including a first request-to-operate signal generatorconfigured to generate a first request-to-operate signal. The integratedcircuit also includes a second functional block provided to perform atleast one second predefined operation and including a secondrequest-to-operate signal generator configured to generate a secondrequest-to-operate signal. A noise arbiter is in communication with eachof the first functional block and the second functional block. The noisearbiter controls when each of the first functional block and the secondfunctional block will operate as a function of the firstrequest-to-operate signal, the second request-to-operate signal and thepredetermined instantaneous current draw threshold.

In another embodiment, the present disclosure is directed to a methodcontrolling instantaneous current noise in an integrated circuit havinga predetermined instantaneous current draw threshold and that includes aplurality of noise contributors each configured to generate arequest-to-operate signal and each configured to perform at least onepredefined operation. The method comprises receiving substantiallysimultaneously a plurality of request-to-operate signals fromcorresponding ones of the plurality of noise contributors. It isdetermined when ones of the plurality of predefined operationscorresponding to the corresponding ones of the plurality of noisecontributors execute relative to one another as a function of thepredetermined instantaneous current draw threshold and a pre-determinedpriority scheme. Each of the corresponding ones of the plurality ofnoise contributors is notified to perform the corresponding at least onepredefined operation in accordance with the preceding determining step.

BRIEF DESCRIPTION OF THE DRAWINGS

For the purpose of illustrating the disclosure, the drawings showaspects of one or more embodiments of the disclosure. However, it shouldbe understood that the present disclosure is not limited to the precisearrangements and instrumentalities shown in the drawings, wherein:

FIG. 1 illustrates a functional block diagram of an IC systemarchitecture in accordance with a first embodiment of the presentdisclosure for scheduling on-chip noise events;

FIG. 2 illustrates, in accordance with a second embodiment of thepresent disclosure, a flow diagram of a method of scheduling on-chipnoise events in order to avoid simultaneous active transient noiseevents;

FIG. 3 illustrates a functional block diagram of an IC systemarchitecture in accordance with a third embodiment of the presentdisclosure that includes a noise event magnitude indicator forscheduling on-chip noise events;

FIG. 4 illustrates a functional block diagram of an IC systemarchitecture in accordance with a fourth embodiment of the presentdisclosure that includes a spatial location indicator for schedulingacross-chip noise events; and

FIG. 5 illustrates a functional block diagram of an IC systemarchitecture in accordance with a fifth embodiment of the presentdisclosure that includes multiple noise event arbiters for schedulingacross-chip noise events.

DETAILED DESCRIPTION

Embodiments of the present disclosure include system architectures forand methods of scheduling on-chip and across-chip active noise events inan integrated circuit, in order to avoid simultaneous active transientnoise events. In particular, integrated circuit (IC) systemarchitectures of the disclosure allow for the reduction of on-chip oracross-chip transient noise budgets by providing a means to avoidsimultaneous high current demand events from at least two functionallogic blocks, i.e., noise contributors. For example, each noisecontributor monitors internal operations with respect to apre-determined dI/dt threshold. Prior to performing an offendingoperation, each noise contributor signals a noise event arbiter of theintention to create a “noise event,” for example, by asserting a“request” line. In one embodiment, the noise event arbiter includes apre-established dI/dt budget and prioritizes requests from all noisecontributors based on the sum of dI/dt from all requesting noisecontributors and allows operations to be performed by asserting therespective “grant” signal. In this manner, the noise event arbiteravoids multiple simultaneous high dI/dt events occurring on the IC chip.This, in turn, allows an IC designer to reduce the noise budget for thechip and/or limit the application of known passive noise limitationtechniques. This and other examples are described below in more detail.

In accordance with a first embodiment of the present disclosure, FIG. 1illustrates a functional block diagram of an IC system architecture 10for scheduling on-chip noise events. IC system architecture 10 includesat least one noise event arbiter 12 and a plurality noise contributors(i.e., aggressors), such as, but not limited to, a first noisecontributor block 14 and a second noise contributor block 16. A minimumof two noise contributors is required in order to make an arbitrationscheme necessary.

Each noise contributor may be connected to the noise event arbiter via a“request/grant” signal pair. For example, an output of first noisecontributor block 14 may be a request signal (REQUEST 1) that may feedan input of noise event arbiter 12, and an output of noise event arbiter12 may be a corresponding grant signal (GRANT 1) that may feed an inputof first noise contributor block 14. Similarly, an output of secondnoise contributor block 16 may be a request signal (REQUEST 2) that mayfeed another input of noise event arbiter 12, and another output ofnoise event arbiter 12 may be a corresponding grant signal (GRANT 2)that may feed an input of second noise contributor block 16. Eachrequest signal (e.g., REQUEST 1 or REQUEST 2) serves as the“request-to-operate” indicator to noise event arbiter 12 and each grantsignal (e.g., GRANT 1 or GRANT 2) serves as the “permission-to-operate”indicator to the requesting noise contributor block, for example, block14 or block 16.

Noise event arbiter 12 may provide an arbitration logic function, which,in general, is a logic function that determines on a prioritized basiswhich command, device, or communication protocol controls the operatingenvironment. An arbitration logic function of the present disclosure mayemploy a handshaking mechanism, for example, using the request and grantsignals mentioned above. More particularly, noise event arbiter 12 maydetermine which one or ones of multiple noise contributors (e.g., firstnoise contributor block 14 or second noise contributor block 16), whichare competing for run-time in the operating environment, controls theoperating state of the noise contributor(s). In the present example, thehandshake mechanism is the REQUEST/GRANT signal pairs. Associated withnoise event arbiter 12 may be a pre-programmed priority scheme, whichcan be stored, for example, in simple on-chip memory (not shown) eitherinternal or external to noise event arbiter 12 that may be used toresolve multiple simultaneous requests-to-operate that the arbiter hasdetermined cannot proceed simultaneously by giving priority to theoperation of noise contributor block 14 or noise contributor block 16.More specifically, the pre-programmed priority scheme may be based on atotal chip instantaneous dI/dt budget within which internal operationsof, for example, first noise contributor block 14 and second noisecontributor block 16 are constrained. In one example, the total chipinstantaneous dI/dt budget of IC system architecture 10 may behard-coded or programmed to 100 mA/ns. Alternatively, the dI/dt budgetcould be set based on other factors, as required by further embodimentsof this invention. These factors include, but are not limited to, dI/dtper contributor operation, per unit area, per unit time, etc.

Each noise contributor, such as first noise contributor block 14 andsecond noise contributor block 16, are IC-specific functional logicblocks that are classified as noise contributors because operationsthereof may result in high instantaneous current demands. Typical noisecontributing functional logic blocks may include, but are not limitedto, processors, content addressable memories (CAMs), high speed staticrandom access memories (SRAMs), and serial links. In particular, anyfunctional logic block that uses a wide address or data bus has thepotential to be a high noise contributor. By way of example, a highinstantaneous current event (i.e., noise event) may occur when multipleaddress or data lines of a CAM or SRAM transition from ones to zeros orfrom zeros to ones, because the simultaneous transition of a largenumber of bits causes a significant draw on the power plane and, thus,noise is generated.

In order to ensure data integrity, each noise contributor may haveassociated therewith an input data valid signal and an output data validsignal. For example, first noise contributor block 14 may include a DATAIN VALID 1 and DATA OUT VALID 1 signal, and second noise contributorblock 16 may have associated therewith a DATA IN VALID 2 and DATA OUTVALID 2 signal. DATA IN VALID 1 and 2 may be used to indicate that theinput data is stable and valid and safe to operate upon. Similarly, DATAOUT VALID 1 and 2 may be used to indicate that the output data is stableand valid and safe to operate upon.

Additionally, each noise contributor, such as first noise contributorblock 14 and second noise contributor block 16, may be designed to beself-aware with regard to the amount of dI/dt (i.e., instantaneouscurrent) for each operation that executes therein and whether the dI/dtfor a given operation exceeds a predefined threshold. For example, thedI/dt threshold may be some fraction (e.g., ¼, ⅓, ½, ⅔, or ¾) of thehard-coded or programmed total chip instantaneous dI/dt budget of ICsystem architecture 10. In particular, the dI/dt characteristics and thenecessity of issuing a REQUEST may be determined during design andsimulation of each noise contributor block. For example, a dI/dt designthreshold for each operation may be provided to the IC designer and, aseach functional block is designed, each operation thereof is modeled inorder to determine whether the dI/dt threshold is crossed. Thepre-determined dI/dt threshold may be programmed in on-chip memory thatis internal or external to each noise contributor block.

Consequently, each noise contributor may be designed to monitor andidentify internal operations that exceed the dI/dt threshold (i.e.,identify noise events) and issue a request signal (e.g., REQUEST 1 or 2)to arbiter 12 prior to executing the high-noise-event operation. Arbiter12, in turn, does not allow the high-noise-event operation to executeuntil the noise contributor receives a grant signal (e.g., GRANT 1 or 2)from the arbiter in response to its request. In one example, onceissued, REQUEST 1 or 2 remains asserted until GRANT 1 or 2,respectively, is received and REQUEST 1 or 2 continues to remainasserted until the corresponding high-noise-event operation iscompleted, at which time REQUEST 1 or 2 is deactivated. Each noisecontributor, such as first noise contributor block 14 and second noisecontributor block 16, may include an internal state machine that enablesthem to operate in conjunction with noise event arbiter 12 via theREQUEST/GRANT signal pairs.

By way of illustration, the dI/dt design threshold for both first noisecontributor block 14 and second noise contributor block 16 may be, forexample, ¾ of the hard-coded or programmed total chip dI/dt budget of ICsystem architecture 10. Consequently, due to the priority scheme ofnoise event arbiter 12, first noise contributor block 14 and secondnoise contributor block 16 are not allowed to execute simultaneouslyoperations that cause each to issue a request signal (i.e., REQUEST 1and REQUEST 2) to be issued, in order to ensure that the dI/dt budget ofIC system architecture 10 is not exceeded and, thereby, avoidsimultaneous active transient noise events. Under these exemplaryconditions and referring again to FIG. 1, the operation of IC systemarchitecture 10 that shows how the REQUEST/GRANT signal pairs may beused to facilitate communication between noise event arbiter 12 andmultiple noise contributors is as follows.

First noise contributor block 14 and second noise contributor block 16may continuously monitor their respective internal operations todetermine whether any operations that are classified as noise events arepending. If first noise contributor block 14 detects a high-noise-eventoperation, it asserts REQUEST 1 prior to executing the operation andholds off performing the high-noise-event operation and awaits GRANT 1.Likewise, if second noise contributor block 16 detects ahigh-noise-event operation, it asserts REQUEST 2 prior to executing theoperation and holds off performing the high-noise-event operation andawaits GRANT 2. Concurrently to first noise contributor block 14 andsecond noise contributor block 16 monitoring their respective internaloperations, noise event arbiter 12 is monitoring continuously REQUEST 1and REQUEST 2. If one request-to-operate signal only, such as REQUEST 1only or REQUEST 2 only, is received by noise event arbiter 12, noiseevent arbiter 12 activates immediately a correspondingpermission-to-operate signal, such as GRANT 1 that corresponds toREQUEST 1 or GRANT 2 that corresponds to REQUEST 2. In doing so, therequesting noise contributor block (e.g., either first noise contributorblock 14 or second noise contributor block 16) is granted immediatepermission to execute. Upon completion of the requested operation, DATAOUT VALID 1 or DATA OUT VALID 2 is activated.

However, within IC system architecture 10, if two or morerequests-to-operate signals are received concurrently by noise eventarbiter 12, such as both REQUEST 1 and REQUEST 2, priority isestablished by use of noise event arbiter 12, as illustrated by, forexample, method 20 (FIG. 2) of scheduling on-chip noise events so as toavoid simultaneous active transient noise events. Method 20 includes,but is not limited to the following steps and is described withreference to IC system architecture 10 of FIG. 1. Additionally, by wayof example, method 20 utilizes the example of FIG. 1, wherein the dI/dtdesign threshold of the noise contributor blocks is ¾ of the hard-codedor programmed total chip instantaneous dI/dt budget of IC systemarchitecture 10. As those skilled in the art will readily appreciate,other methods may be used, depending upon the particular circumstancesat issue.

At step 22, a noise event arbiter receives simultaneously multiplerequests-to-operate from multiple noise contributors, respectively. Forexample, first noise contributor block 14 detects that a highinstantaneous current operation is pending and issues REQUEST 1 to noiseevent arbiter 12. Initially, no other request-to-operate conditions arepresent and, thus, noise event arbiter 12 activates immediately GRANT 1and first noise contributor block 14 is granted permission-to-operateand REQUEST 1 and GRANT 1 are held active during the execution of therequesting operation. However, during the time that REQUEST 1 from firstnoise contributor block 14 is active, second noise contributor block 16also detects that a high instantaneous current operation is pending andissues REQUEST 2 to noise event arbiter 12.

At step 24, the noise event arbiter determines when each noisecontributor may execute operations, based on an instantaneous currentdraw threshold and a pre-determined priority scheme. More specifically,by use of noise event arbiter 12, internal operations of two or morenoise contributors are granted permission to operate simultaneously whenthe dI/dt sum of the requesting noise contributors is less than or equalto the total chip instantaneous dI/dt budget of IC system architecture10. When the sum of dI/dt of multiple simultaneous requests-to-operateexceeds the total chip instantaneous dI/dt budget, certain requestingnoise contributors are held off until a suitable portion of the totalchip instantaneous dI/dt budget becomes available. For example andcontinuing the example scenario that is described in step 22, noiseevent arbiter 12 detects the presence of both REQUEST 1 and REQUEST 2and determines that the sum of dI/dt when both operations executesimultaneously exceeds the hard-coded or programmed dI/dt budget of ICsystem architecture 10 and, thus, does not activate immediately GRANT 2,thereby holding off second noise contributor block 16.

At step 26, noise event arbiter 12 notifies each noise contributor as towhen permission is granted to execute its operations. For example andcontinuing the example scenario that is described in steps 22 and 24,once the operations of first noise contributor block 14 are complete,DATA OUT VALID 1 is activated and REQUEST 1 is deactivated, which freesnoise event arbiter 12 to deactivate GRANT 1 and activate GRANT 2. Indoing so, second noise contributor block 16 is notified as topermission-to-operate. In turn, if REQUEST 1 were to reoccur whileREQUEST 2 is active, first noise contributor block 14 is held off (i.e.,GRANT 1 is held off) until second noise contributor block 16 completesits operation, and so on.

With continuing reference to FIGS. 1 and 2, it is noted that internaloperations within the multiple noise contributors, such as first noisecontributor block 14 and second noise contributor block 16, that do notexceed their respective dI/dt thresholds are allowed to execute freelyand simultaneously without the need for arbitration. Additionally, thenoise event scheduling operations of noise event arbiter 12 of IC systemarchitecture 10 and described in method 20 is not limited to two noisecontributor blocks, the sum of dI/dt from any number of noisecontributor blocks may be calculated in order to determine thescheduling of noise contributing operations.

It is noted that in the foregoing description the overall dI/dtthreshold is known to event arbiter 12 and used by the arbiter in thepredetermined priority scheme. This need not be so. In alternativeembodiments no dI/dt threshold need be known at event arbiter 12. Forexample, each noise contributor, e.g., each noise contributor block 14,16, may monitor its own operations and assert a REQUEST signal when itrecognizes that an operation would exceed a predetermined dI/dtthreshold. In this case, event arbiter 12 may assume that all requestsare for operations that consume the entire noise budget for the chip, ora region thereof, i.e., operations that exceed the dI/dt budget. In thiscase, multiple requests are arbitrated simply based on a predeterminedpriority scheme, without consideration of the dI/dt threshold at eventarbiter 12.

FIG. 3 illustrates a functional block diagram of an IC systemarchitecture 30, in accordance with a third embodiment of thedisclosure, that includes a noise event magnitude indicator forscheduling on-chip noise events. For convenience, IC system architecture30 is substantially identical to IC system architecture 10 of FIG. 1,except that in FIG. 3 noise event arbiter 32 has the ability to utilizethe magnitudes of noise events in its arbitration scheme. IC systemarchitecture 30 may also include a plurality noise contributors (i.e.,aggressors), such as, but not limited to, a first noise contributorblock 34 and a second noise contributor block 36. Noise event arbiter32, first noise contributor block 34, and second noise contributor block36 may be substantially identical to noise event arbiter 12, first noisecontributor block 14, and second noise contributor block 16,respectively, which are described above in connection with FIGS. 1 and2. However, first noise contributor block 34 and second noisecontributor block 36 of IC system architecture 30 each further includesa noise event magnitude indicator, e.g., a set of magnitude bits (MAGBITS 1 and MAG BITS 2, respectively). In addition to processingrequests-to-operate, noise event arbiter 32 may process the magnitudeinformation of MAG BITS 1 and MAG BITS 2 when establishing priority.

The number of MAG BITS is variable and depends on the desired magnitudegranularity of IC system architecture 30. The granularity of MAG BITSmay be, for example, but not limited to, a function of the hard-coded orprogrammed total chip instantaneous dI/dt budget of IC systemarchitecture 30. For example, a 1-bit binary bus may indicate two noiseevent magnitude levels (e.g., ½ dI/dt budget and entirety of dI/dtbudget), a 2-bit binary bus may indicate four levels (e.g., ¼, ½, ¾, andentirety of dI/dt budget), a 4-bit binary bus may indicate eight levels(e.g., ⅛, 2/8, ⅜, 4/8, ⅝, 6/8, ⅞, and entirety of dI/dt budget), and soon. The dI/dt magnitude values may be predetermined during the designand simulation phase of each noise contributor block for each operationtherein. As an example, using two binary MAG BITS and a noisecontributor block that includes, for example, a wide address or databus, MAG BITS are set to 00 when one quarter of the bus is rolling over,01 when one half of the bus is rolling over, 10 when three quarters ofthe bus is rolling over, and 11 when the entire bus is rolling over,which indicates noise event magnitude levels of, for example, 00=¼ ofdI/dt budget, 01=½ of dI/dt budget, 10=¾ of dI/dt budget, and11=entirety of dI/dt budget, respectively.

In this scenario, while noise event arbiter 32 is continuouslymonitoring and processing requests-to-operate from multiple noisecontributor blocks as described with reference to noise event arbiter 12of FIGS. 1 and 2, noise event arbiter 32 is also continuously monitoringand summing the dI/dt as indicated by the noise event magnitude bits ofeach noise contributor block and issuing or holding off GRANTS based onwhether the sum of dI/dt of all simultaneously requesting noisecontributor blocks is less than, equal to, or greater than thehard-coded or programmed total chip instantaneous dI/dt budget of ICsystem architecture 30.

Again, using the example of two binary MAG BITS and wherein 00=¼ ofdI/dt budget, 01=½ of dI/dt budget, 10=¾ of dI/dt budget, and11=entirety of dI/dt budget, the operation of IC system architecture 30may be as follows. In a first example, noise event arbiter 32 may grantsimultaneous permissions-to-operate to four noise contributor blocksthat each have MAG BITS=00 and hold off any additional simultaneouspermissions-to-operate of any magnitude. In another example, noise eventarbiter 32 may grant simultaneous permissions-to-operate to two noisecontributor blocks that each have MAG BITS=00 and one noise contributorblock that has MAG BITS=01 and hold off any additional simultaneousrequests/permissions-to-operate of any magnitude. In yet anotherexample, noise event arbiter 32 may grant simultaneouspermissions-to-operate to two noise contributor blocks that each haveMAG BITS=01 and hold off any additional simultaneousrequests/permissions-to-operate of any magnitude. In yet anotherexample, noise event arbiter 32 may grant simultaneouspermissions-to-operate to one noise contributor block that has MAGBITS=00 and one noise contributor block that has MAG BITS=10 and holdoff any additional simultaneous requests/permissions-to-operate of anymagnitude. In yet another example, noise event arbiter 32 may grant apermission-to-operate to one noise contributor block only that has MAGBITS=11 and hold off any additional simultaneousrequests/permissions-to-operate of any magnitude.

FIG. 4 illustrates, in accordance with a fourth embodiment of thepresent disclosure, a functional block diagram of an IC systemarchitecture 40 having a noise event arbiter 42 that utilizesinformation about the physical locations of the noise contributors, forexample, noise contributor blocks 44-Q1 through 44-Q4 and 46-Q1 through46-Q4, in scheduling across-chip noise events. IC system architecture 40may be substantially identical to IC system architecture 10 of FIG. 1except for this ability. Such physical-location arbitration may bedesirable, for example, in managing across-chip noise events becauseconcern for instantaneous noise events may be limited to noisecontributor blocks that are physically located in close proximity one toanother only. This is so because simultaneous noise events of noisecontributor blocks that are sufficiently far apart in distance may notbe additive because of sufficient power plane isolation therebetween.

To illustrate the concept of physical-location arbitration in moredetail, FIG. 4 shows an IC chip 41 containing IC system architecture 40divided into, for example, four quadrants, i.e., QUADRANT 1, QUADRANT 2,QUADRANT 3, and QUADRANT 4, and each quadrant contains, for example, twonoise contributor blocks, i.e., noise contributor blocks 44-Q1 and46-Q1, 44-Q2 and 46-Q2, 44-Q3 and 46-Q3, and 44-Q4 and 46-Q4,respectively. In the exemplary configuration of FIG. 4, noise eventarbiter 42 operates in common to all noise contributor blocks 44-Q1through 44-Q4 and second noise contributor blocks 46-Q1 through 46-Q4 ofall quadrants, i.e., QUADRANT 1, QUADRANT 2, QUADRANT 3, QUADRANT 4.

Each instance of noise event arbiter 42, first noise contributor blocks44-Q1 through 44-Q4, and second noise contributor blocks 46-Q1 through46-Q4 may be substantially identical to noise event arbiter 12, firstnoise contributor block 14, and second noise contributor block 16,respectively, which are described with reference to FIGS. 1 and 2.However, first noise contributor blocks 44-Q1 through 44-Q4 of IC systemarchitecture 40 of FIG. 4 may be configured so that each asserts alocation information signal LOC BITS 1-Q1 through 1-Q4, respectively,that provides arbiter 42 with information about the location of thatnoise contributor block. Likewise, second noise contributor blocks 46-Q1through 46-Q4 may be configured so that each asserts a locationinformation signal LOC BITS 2-Q1 through 2-Q4, respectively, that alsoprovides arbiter with information about the location of that noisecontributor block. In addition to processing requests-to-operate, noiseevent arbiter 42 processes the location information that is reflected byLOC BITS 1-Q1 through 1-Q4 and LOC BITS 2-Q1 through 2-Q4 whenestablishing priority of operation of noise contributor blocks 44-Q1through 44-Q4 and 46-Q1 through 46-Q4.

The number of bits in the LOC BITS signals is variable and depends onthe desired locational granularity of IC system architecture 40, whichmay be, for example, an arbitrary division of area that is consumed onchip 41 by IC system architecture 40. For example, a 1-bit binary busmay indicate two divisions of area (i.e., two halves), a 2-bit binarybus may indicate four divisions of area (i.e., four quadrants, such asshown in FIG. 4), a 4-bit binary bus may indicate eight divisions ofarea (i.e., eight octants), and so on. In the example of FIG. 4, whichshows quadrants, i.e., QUADRANTs 1-4, a 2-bit binary bus is appropriate.For example, LOC BITS 1-Q1 of first noise contributor block 44-Q1 ofQUADRANT 1 may set to 00, LOC BITS 1-Q2 of first noise contributor block44-Q2 of QUADRANT 2 may set to 01, LOC BITS 1-Q3 of first noisecontributor block 44-Q3 of QUADRANT 3 may be set to 10, and LOC BITS1-Q4 of first noise contributor block 44-Q4 of QUADRANT 4 may be set to11.

In operation, the priority within each QUADRANT 1-4 is establishedindependent of the other three quadrants by use of noise event arbiter42, which is common to all noise contributor blocks 44-Q1 through 44-Q4and 46-Q1 through 46-Q4. More specifically, noise event arbiter 42 iscontinuously monitoring and processing requests-to-operate from multiplenoise contributor blocks 44-Q1 through 44-Q4 and 46-Q1 through 46-Q4 asdescribed with reference to IC system architecture 10 of FIGS. 1 and 2.Noise event arbiter 42 may also continuously monitor locationinformation signal LOC BITS 1-Q1 through 1-Q4 and LOC BITS 2-Q1 through2-Q4 of each noise contributor block 44-Q1 through 44-Q4 and 46-Q1through 46-Q4 and issuing or holding off GRANTS (independently perquadrant) based on requests-to-operate from multiple noise contributorblocks of the same quadrant. In order to make this possible, noise eventarbiter 42 may include a separate hard-coded or programmed totalinstantaneous dI/dt budget for each of QUADRANTs 1, 2, 3, and 4.

Again, using the example of two binary location bits for each locationinformation signal LOC BITS 1-Q1 through 1-Q4, 2-Q1 through 2-Q4, andwherein 00=QUADRANT 1, 01=QUADRANT 2, 10=QUADRANT 3, and 11=QUADRANT 4,the operation of IC system architecture 40 may be as follows. Alloperations of first noise contributor block 44-Q1 and second noisecontributor block 46-Q1 of QUADRANT 1, whose LOC BITS=00, are scheduledas described with reference to IC system architecture 10 of FIGS. 1 and2, without regard to simultaneous requests-to-operate from noisecontributor blocks of QUADRANTs 2, 3, and 4. Likewise, all operations offirst noise contributor block 44-Q2 and second noise contributor block46-Q2 of QUADRANT 2, whose location bits are 01, are scheduled asdescribed with reference to IC system architecture 10 of FIGS. 1 and 2,without regard to simultaneous requests-to-operate from noisecontributor blocks of QUADRANTs 1, 3, and 4. Similarly, all operationsof first noise contributor block 44-Q3 and second noise contributorblock 46-Q3 of QUADRANT 3, whose location bits are 10, are scheduled asdescribed with reference to IC system architecture 10 of FIGS. 1 and 2,without regard to simultaneous requests-to-operate from noisecontributor blocks of QUADRANTS 1, 2, and 4. Likewise, all operations offirst noise contributor block 44-Q4 and second noise contributor block46-Q4 of QUADRANT 4, whose location bits 11, are scheduled as describedwith reference to IC system architecture 10 of FIGS. 1 and 2, withoutregard to simultaneous requests-to-operate from noise contributor blocksof QUADRANTS 1, 2, and 3.

Alternatively, rather than the location information being hard-coded ineach noise contributor block of IC system architecture 40 anddisseminated via location bits, the location information of each noisecontributor block may be programmed into noise event arbiter 42.

FIG. 5 illustrates, in accordance with a fifth embodiment of the presentdisclosure, a functional block diagram of an IC system architecture 50aboard an IC chip that includes multiple noise event arbiters, in thisexample four noise even arbiters 52-Q1 through 52-Q4, for schedulingacross-chip noise events. As discussed above in connection with FIG. 4,concern for instantaneous noise events may be limited only to noisecontributor blocks that are physically located in close proximity to oneanother. IC system architecture 50 of FIG. 5 provides an alternative tothe central arbiter architecture of IC system 40 of FIG. 4 forscheduling such across-chip noise events.

More particularly, FIG. 5 shows that the area consumed by IC systemarchitecture 50 aboard chip 51 may be arbitrarily divided into fourquadrants, e.g., QUADRANTs 1-4, as described with reference to IC systemarchitecture 40 of FIG. 4. However, in contrast with IC systemarchitecture 40 of FIG. 4, IC system architecture 50 does not include anoise event arbiter that operates in common to all noise contributorblocks of all quadrants and does not require spatial locationindicators. Instead, each of QUADRANTs 1-4 of IC system architecture 50includes its own corresponding respective noise arbiter 52-Q1 through52-Q4, each of which may operate independently of the other noise eventarbiters within IC system architecture 50.

By way of example, FIG. 5 shows each of QUADRANTs 1-4 as containingcorresponding respective noise contributor blocks 54-Q1 through 54-Q4and 56-Q1 through 56-Q4, each of which may be similar or identical tofirst noise contributor block 14, and second noise contributor block 16,respectively, which are described with reference to FIGS. 1 and 2.Similarly, each noise event arbiter 52-Q1 through 52-Q4 of FIG. 5 may besimilar or identical to noise event arbiter 12 of FIGS. 1 and 2.

Referring still to FIG. 5, because concern for instantaneous noiseevents within QUADRANT 1 may be limited to noise contributors that arephysically located in QUADRANT 1 only, noise event arbiter 52-Q1schedules the priority of first noise contributor block 54-Q1 and secondnoise contributor block 56-Q1 only, as described with reference to ICsystem architecture 10 of FIGS. 1 and 2. Similarly, because concern forinstantaneous noise events within QUADRANT 2 may be limited to noisecontributors that are physically located in QUADRANT 2 only, noise eventarbiter 52-Q2 schedules the priority of first noise contributor block54-Q2 and second noise contributor block 56-Q2 only, as described withreference to IC system architecture 10 of FIGS. 1 and 2. Likewise,because concern for instantaneous noise events within QUADRANT 3 may belimited to noise contributors that are physically located in QUADRANT 3only, noise event arbiter 52-Q3 schedules the priority of first noisecontributor block 54-Q3 and second noise contributor block 56-Q3 only,as described with reference to IC system architecture 10 of FIGS. 1 and2. Similarly, because concern for instantaneous noise events withinQUADRANT 4 may be limited to noise contributors that are physicallylocated in QUADRANT 4 only, noise event arbiter 52-Q4 schedules thepriority of first noise contributor block 54-Q4 and second noisecontributor block 56-Q4 only, as described with reference to IC systemarchitecture 10 of FIGS. 1 and 2. In this way, multiple noise eventarbiters are utilized for scheduling across-chip noise events.

In another embodiment, the arbitration priority scheme of the noiseevent arbiter may include a time variable. More specifically, given thatnoise events are limited in time (e.g., quarter cycle, half cycle, onecycle, two cycles, etc.), the arbitration priority scheme may includeduration information, which is used to queue operations (i.e., packoperations closer together in time) when multiple requests-to-operateexist simultaneously. The “duration information” may include time forchip power bus/capacitance charge recovery. For this capability, alongwith the REQUEST/GRANT signal pair, noise event duration information isprovided.

In a further embodiment, the arbitration priority scheme of the noiseevent arbiter may include history information, which may be used toensure that a single high priority noise contributor does not monopolizeoperation. In doing so, it is ensured that all requesting noisecontributors are eventually granted permission-to-operate.

In yet another embodiment, the arbitration priority scheme of the noiseevent arbiter may be dynamically programmable and, thus, is changeableon-the-fly during operation. This embodiment may require an on-chipprogrammable memory device that is integrated in the arbitration scheme.

In still a further embodiment, the arbitration priority scheme of thenoise event arbiter may include priority information. For example,certain noise events of one or more noise contributor blocks may beclassified as “top priority.” Once granted permission-to-operate, a toppriority noise event may not be interrupted. Therefore, all otherrequests-to-operate are held off until completion of the top prioritynoise event in its entirety. Additionally, associated with the toppriority noise event may be a priority override, i.e., the top prioritynoise event's request-to-operate overrides all others. Additionally,this override capability could be extended to a high-priority interruptcapability, which would allow the arbiter to de-assert an active GRANTsignal (effectively halting the associated noise contributor operationand putting it in a wait state) and assert a different, higher priorityGRANT signal in response to a higher priority REQUEST signal.

In still yet other embodiments, the arbitration priority scheme of thenoise event arbiter may include any and all combinations of one or morevariables, such as, but not limited to, noise event magnitudeinformation, noise contributor location information, noise eventduration information, history information, priority information,priority override information, and dynamic programmability.Additionally, those skilled in the art will recognize that method 20 ofFIG. 2, which is a method of scheduling on-chip noise events in order toavoid simultaneous active transient noise events, may be modified toinclude any and all combinations of the above-mentioned variables.

Exemplary embodiments have been disclosed above and illustrated in theaccompanying drawings. It will be understood by those skilled in the artthat various changes, omissions and additions may be made to that whichis specifically disclosed herein without departing from the spirit andscope of the present disclosure.

1. An integrated circuit device, comprising: an integrated circuithaving a predetermined instantaneous current draw threshold andincluding: a first functional block provided to perform at least onefirst predefined operation and including a first request-to-operatesignal generator configured to generate a first request-to-operatesignal; a second functional block provided to perform at least onesecond predefined operation and including a second request-to-operatesignal generator configured to generate a second request-to-operatesignal; and a noise arbiter in communication with each of said firstfunctional block and said second functional block, said noise arbitercontrolling when each of said first functional block and said secondfunctional block will operate as a function of said firstrequest-to-operate signal, said second request-to-operate signal andsaid predetermined instantaneous current draw threshold; wherein said atleast one first predefined operation has a duration and said firstrequest-to-operate signal generator is configured so that said firstrequest-to-operate signal includes information identifying saidduration.
 2. The integrated circuit device according to claim 1, whereinsaid first predefined operation has an instantaneous current draw, saidfirst request-to-operate signal generator configured to generate saidfirst request-to-operate signal as a function of said firstinstantaneous current draw exceeding said predetermined instantaneouscurrent draw threshold.
 3. The integrated circuit device according toclaim 1, wherein said first functional block is provided to perform aplurality of predefined operations each having a correspondingrespective instantaneous current draw and said first functional blockincludes circuitry for determining, prior to one of said plurality ofpredefined operations running, whether or not said correspondingrespective instantaneous current draw corresponding to said one of saidplurality of predefined operations exceeds said instantaneous currentdraw threshold.
 4. The integrated circuit device according to claim 1,wherein said first functional block has a logic state and includes astate machine that holds said logic state while said firstrequest-to-operate signal is pending with said noise arbiter.
 5. Theintegrated circuit device according to claim 1, wherein said firstfunctional block has a physical location within said integrated circuitdevice and said first request-to-operate signal generator is configuredso that said first request-to-operate signal includes informationidentifying said physical location.
 6. The integrated circuit deviceaccording to claim 1, wherein said first predefined operation has aninstantaneous current draw having a magnitude and said firstrequest-to-operate generator is configured so that said firstrequest-to-operate signal generator includes information identifyingsaid magnitude.
 7. The integrated circuit device according to claim 1,wherein said first predefined operation has a first instantaneouscurrent draw and said second predefined operation has a secondinstantaneous current draw, said noise arbiter being configured to allowboth of said first predefined operation and said second predefinedoperation to proceed substantially simultaneously when said firstrequest-to-operate signal and said second request-to-operate signal arepending with said noise arbiter at the same time and a sum of said firstinstantaneous current draw and said second instantaneous current drawdoes not exceed said predetermined threshold instantaneous current draw.8. The integrated circuit device according to claim 1, wherein, whensaid noise arbiter has a request-to-operate pending from each of saidfirst functional block and said second functional block, said noisearbiter executes a priority scheme for determining when each of saidfirst functional block and said second functional block operates.
 9. Theintegrated circuit device according to claim 8, wherein said priorityscheme is dynamically programmable.
 10. The integrated circuit deviceaccording to claim 8, wherein said noise arbiter maintains a history ofgranted requests and said priority scheme determines when any one, orboth, of said first functional block and said second functional blockwill operate.
 11. The integrated circuit device according to claim 1,comprising a plurality of noise arbiters distributed throughout saidintegrated circuit, each of said plurality of noise arbiters configuredto control the operation of a corresponding respective plurality ofcurrent draw noise contributors.
 12. A method of controllinginstantaneous current noise in an integrated circuit having apredetermined instantaneous current draw threshold and that includes aplurality of noise contributors each configured to generate arequest-to-operate signal and each configured to perform at least onepredefined operation, the method comprising: receiving substantiallysimultaneously a plurality of request-to-operate signals fromcorresponding ones of the plurality of noise contributors; determiningwhen ones of the plurality of predefined operations corresponding tosaid corresponding ones of the plurality of noise contributors executerelative to one another as a function of the predetermined instantaneouscurrent draw threshold and a predetermined priority scheme; andnotifying each of said corresponding ones of the plurality of noisecontributors to perform the corresponding at least one predefinedoperation in accordance with the preceding determining step; wherein thestep of determining when said ones of the plurality of predefinedoperations execute relative to one another includes determining whensaid ones execute as a function of durations of said ones.
 13. Themethod according to claim 12, further comprising a step of determining,by a first noise contributor, whether performing the corresponding atleast one operation will exceed the predetermined current drawthreshold.
 14. The method according to claim 12, further comprising astep of holding by a first noise contributor a logic state of said firstnoise contributor while a request-to-operate signal issued by said firstnoise contributor is pending.
 15. The method according to claim 12,wherein the step of determining when said ones of the plurality ofpredefined operations execute relative to one another includesdetermining when said ones execute as a function of physical locationsof said ones.
 16. The method according to claim 12, wherein the step ofdetermining when ones of the plurality of predefined operations executerelative to one another includes determining how many of the pluralityof predefined operations can execute substantially simultaneously withone another.
 17. The method according to claim 12, further comprisingthe step of maintaining a history of executions of the plurality ofpredetermined operations so as to inhibit favoring of at least one ofthe plurality of predetermined operations.
 18. The method according toclaim 12, wherein the step of determining when ones of the plurality ofpredefined operations execute relative to one another utilizes apreprogrammed priority scheme and the method further comprisesinstalling a new priority scheme.